Gestion de version/Théorie
Cette page donne l'ensemble des connaissances valables quel que soit le système de gestion de version.
Vue d'ensemble
[modifier | modifier le wikicode]Ce logiciel peut fonctionner en local, ou en mode client serveur. Dans les deux cas, un repository contient une hiérarchie de fichiers versionnés.
Commandes principales
[modifier | modifier le wikicode]- checkout
- Obtenir une copie locale des fichiers
- commit
- Envoyer ses modifications
- update
- Obtenir les modifications des autres
- import
- Créer un nouveau module
checkout
[modifier | modifier le wikicode]Le checkout est l'opération qui consiste à extraire les fichiers à partir du dépôt. Par défaut, la dernière version du fichier est extraite. Si plusieurs branches de développement sont en cours ou que vous voulez une version plus ancienne, vous devrez le spécifier.
Vous devez spécifier en argument le ou les fichiers ou répertoire que vous voulez extraire. Par exemple :
checkout htdocs/actions/ldd/index.wml
Notez que l'utilisation de checkout est récursive. Ainsi, effectuer un checkout sur un répertoire htdocs
va télécharger tout les fichiers et sous dossiers de ce répertoire. Si tout se passe bien, la sortie ressemble à :
U htdocs/actions/ldd/index.wml
Un répertoire htdocs/actions/ldd
est créé en local contenant le fichier index.wml
ainsi qu'un répertoire spécifique au système qui contient des fichiers administratifs et qu'il convient d'ignorer (mais pas d'effacer). Vous pouvez maintenant travailler sur le fichier index.wml
.
commit
[modifier | modifier le wikicode]Le commit est l'opération inverse. Le but du jeu est de mettre à jour sur le dépôt des fichiers que vous avez modifiés. Par exemple :
commit htdocs/actions/ldd/index.wml
Des informations sur la nature des modifications effectuées vous sont demandées (afin d'archiver leur trace dans un format facilement compréhensible par des humains). Notez que si vous mettez à jour plusieurs fichiers en même temps, on peut vous demander plusieurs descriptions pour vos modifications (vous pouvez mettre les mêmes).
Si votre description tient en quelques mots, vous pouvez vous passer de l'éditeur de texte en mettant votre texte sur la ligne de commande, en utilisant l'option -m
commit -m "Ajout du mois de mai" htdocs/actions/ldd/index.wml
update
[modifier | modifier le wikicode]La commande update permet de récupérer sur sa copie locale les modifications effectuées par d'autres personnes. Par exemple, pour recevoir toutes les modifications :
update
Un conflit peut survenir si un fichier modifié localement a aussi été modifié par un autre utilisateur, qui en a fait un commit. Dans ce cas, sont réunies les versions dans un fichier qu'il faut alors fusionner (résoudre les conflits).
Lors de l'update, le serveur notifie l'état de chaque fichier en le précédent d'une lettre :
- U Fichier importé depuis le serveur (fichier complet)
- P Fichier mis à jour depuis le serveur (patché)
- A Fichier ajouté
- R Fichier supprimé
- C Conflit sur le fichier
- M Fichier modifié localement
- ? Fichier local dont le serveur n'a aucune information
Les branches
[modifier | modifier le wikicode]Le système des branches permet de structurer les ramifications des versions par provenance.